Tagging for transferring image data to destination

ABSTRACT

A method and system for sending image data on an image capturing apparatus, to specified destination(s). The image capturing apparatus includes a list of aliases for the various destinations which can be specified. The data to be sent, and the alias specifying the destination to which it is to be sent, is selected. The alias is then inserted into the data, and the modified data is downloaded to a host. The host contains a look-up table specifying the destination address(es) corresponding to the alias. The specified data is sent to this destination address.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation-in-part of U.S. application Ser. No. 09/898,476, filed Jul. 3, 2001, entitled “Image Tagging for Post-Processing” invented by John Feldis, which is incorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to digital camera technology. More specifically, the present invention relates to a method and apparatus for tagging images and videos to facilitate transferring them to a specified destination for easy playback, etc.

[0003] Digital cameras have been gaining wide acceptance among consumers recently. At the same time, wide usage of email and the Internet has led to increased electronic communication between consumers. A natural result of these two factors is increased desire among users to share still image and video files over the Internet. Still images and videos can currently be sent over the Internet by downloading the image data to a host, and then associating certain image data with a destination address on the host.

[0004] One type of digital camera is disclosed in U.S. Pat. No. 6,167,469, assigned to Agilent Technologies, Inc. The digital camera enables digital images to be transmitted to a selected destination. The application discloses that the address of the destination is input into the camera. A voice message may be attached to the digital images and sent to the selected destination.

[0005] One recently adopted digital camera standard, DPOF Version 1.0, available on “http:www.panasonic.co.jp/avc/video/dpof/dpof_(—)110/white_e.htm,” discloses some functions that may be performed in certain digital cameras. DPOF Version 1.0 allows the following functions to be specified on the camera: (1) multi-image print, (2) specifying the size of printed images, (3)auto-transfer via Internet and fax, and (4) auto play for slide show. The multi-image-print feature enables one to specify the number of images to be printed on one sheet. The specifying-the-size-of-printed-images feature enables one to specify the size of the printed images, so that one could use the prints for a variety of applications, such as displays and certificate materials. The auto-transfer-via-Internet-and-fax feature enables one to attach a message to image data and send the resulting data via email. The auto-play-for-slide-show feature enables one to specify the images to be played back on liquid crystal displays of digital cameras, video projectors, or PCs for slide show.

[0006] Another digital camera standard, Exif Reader, available on “http://www.takenet.or.jp/˜ryuui/minisoft/exifread/english/,” provides a numerous TIFF/EP tags that may be attached to the image data generated by digital cameras.

[0007] None of the above prior art, however, appears to address the need to provide users with a digital camera with data that is easily transferable to a destination, without inputting destination addresses into the camera itself. In addition, none of the above prior art appears to address the need to include image tags in both still images as well as in video/audio data.

[0008] Thus there exists a need for a digital camera where still image data as well as video/audio data can be easily transferred to a destination without inputting destination addresses into the camera.

SUMMARY OF THE INVENTION

[0009] The present invention provides a method, and corresponding apparatus, for attaching a tag to data generated by an image capturing device for post processing in a remote location. It is to be noted that the data generated by an image capturing device can include, amongst others, still image data, video data, and/or audio data.

[0010] In one embodiment, a tag is affixed to the data (which can be still image data, video data, or audio data) within the image capturing device. In one embodiment of the present invention, the tag can be attached within the header of the data file. In another embodiment, the tag could be in the data portion of a still image file, or within a stream of data in a video file.

[0011] In one embodiment, the tag is an alias for predetermined instructions according to which the image data is to be processed. Amongst other things, the tag can be a resolution tag, a cropping tag, a red-eye removal tag, and a quick-send tag. In one embodiment, the tag comprises an alias for a destination address to which the image data is to be sent. For instance, the tag can be “Mom” while the destination address to which this alias corresponds can be mom's email address. The image capturing device itself may contain only a listing of aliases, one or more of which can be selected by the user. In a remote location, these aliases can then be matched up with the actual destination addresses. This remote location can be a personal computer, a cell phone, a PDA (Personal Digital Assistant), a remote server, etc.

[0012] In one embodiment, the tag includes identifying information about the content of the image (e.g., names of the subjects, location, event, etc.). Further, in one embodiment, the tag contains data indicating the status of the tag information within the system, and the status of actions taken within the system to process the tagged image/video data. It will be understood by one skilled in the art that this concept of tags being matched up with other information at a remote location need not be limited to tags comprising an alias for a destination address, but rather can be applied to various kinds of tags as well.

[0013] For a further understanding of the nature and advantages of the invention, reference should be made to the following description taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014]FIG. 1A is a block diagram of a digital camera according to one embodiment of the invention.

[0015]FIG. 1B depicts a block diagram of an image data file according to one embodiment of the invention.

[0016]FIG. 2 depicts a block diagram of a computer system according to one embodiment of the invention.

[0017]FIG. 3 depicts a simplified flow chart of a method of image tagging for post processing according to one embodiment of the invention.

[0018]FIG. 4 depicts a simplified flow chart of attaching an image tag according to the method of FIG. 3.

[0019]FIG. 5 depicts a simplified flow chart of processing image data according to the method of FIG. 3.

[0020]FIG. 6 depicts a block diagram of a computer connected to a communication network according to one embodiment of the invention.

[0021]FIG. 7A is a block diagram of a system in accordance with one embodiment of the present invention.

[0022]FIG. 7B is a flowchart illustrating the working of a system in accordance with an embodiment of the present invention.

DESCRIPTION OF THE EMBODIMENTS

[0023] The figures (or drawings) depict a preferred embodiment of the present invention for purposes of illustration only. It is noted that similar or like reference numbers in the figures may indicate similar or like functionality. One of skill in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods disclosed herein may be employed without departing from the principles of the invention(s) herein. It is to be noted that the present invention relates to any type of data that can be captured by a digital camera, such as, but not limited to, still image, video, or audio data. For convenience, in some places “image” or other similar terms may be used in this application. Where applicable, these are to be construed as including any such data capturable by a digital camera.

[0024] Referring to FIG. 1A, a digital camera 50 includes an imaging device 100 and a processing system 150. The imaging device includes a lens 102 having an iris, a filter 104, an image sensor 106, a timing generator 108, an analog signal processor (ASP) 110, an analog-to-digital (A/D) converter 112, a digital signal processor (DSP) 114, and one or more motors 116.

[0025] In operation, imaging device 100 captures an image of object 101 via reflected light impacting image sensor 106 along an optical path 118. Image sensor 106 generates a set of raw image data representing the captured image. The raw image data is then routed through ASP 110, A/D converter 112 and DSP 114. DSP 114 has outputs coupled to timing generator 108, ASP 110, and motors 116 to control these components. DSP 114 also has its output coupled to processing system 150 via a bus 151. The raw image data are transmitted to system 150 and processed therein.

[0026] In one embodiment, processing system 150 includes a bus interface 152, a processor 154, a read-only memory (ROM) 156, an input device 158, a random access memory (RAM) 160, an I/O interface 162, a flash memory 164, a non-volatile memory 166, and an internal bus 168.

[0027] Bus interface 152 is a bi-directional first-in, first-out interface for receiving the raw image data and control signals passed between system 150 and DSP 114. Processor 154 executes programming instructions stored in ROM 156 and RAM 160 to perform various operations. ROM 156 generally stores a set of computer readable program instructions which control how processor 154 accesses, transforms and outputs the image data. In one implementation, ROM 156 also stores a start-up program or file that enable a user to access the images stored in the flash memory using any computer whether it has a companion driver software installed or not.

[0028] Input device 158 generally includes one or more control buttons (not shown) which are used to input operating signals that are translated by processor 154 into an image capture request, an operating mode selection request, and various control signals for imaging device 100. I/O Interface 162 is coupled to internal bus 168 and has an external port connector (not shown) that can be used to couple digital camera 50 to a computer 200 for viewing and editing the image data stored in flash memory 164. The camera and computer may be coupled to each other via a communication link 163. In one implementation, I/O interface 62 is a universal serial bus (USB) port.

[0029] Flash memory 164 stores the image data processed by the processor as image data files (see FIG. 1B). In one implementation, flash memory 164 is a removable flash card or disk, (e.g., SmartMedia™, CompactFlash™, SecureDigital (SD) card, etc.) so that a user may replace a full flash card with a new flash card to store additional image data. In other implementations, other types of non-volatile memory other than flash cards may be used.

[0030]FIG. 1B illustrates a schematic block diagram of an image data file 180 including a header 182, a compressed image data 184, and a tag field 186. Header 182 includes information identifying corresponding image data file 180. Image data 184 represents an image captured with camera 50. The image data is generally in a compressed form, e.g., in JPEG format, to conserve memory space of flash card 164. Tag field 186 includes tags, e.g., a resolution tag 188, a cropping tag 190, a red-eye removal tag 192, and a quick-send tag 194, that provides instructions to computer 200 for post processing, as well as other types of tags.

[0031] Referring back to FIG. 1A, non-volatile memory 166 stores an image counter whose current value becomes an identifier for each new set of image data captured by camera 50. The counter is preferably incremented each time a new image is captured.

[0032] Referring to FIG. 2, computer 200 includes an I/O interface 202 which can be used to couple computer 200 to camera 50. The computer also includes a bus 204 for communicating data, a central process unit (CPU) 206 coupled to bus 204 to process data, a memory 206 coupled to bus 204 to store data and instructions to be executed by CPU 206, and a communication interface 208 coupled to a network via a communication link 209. The communication interface may be an integrated services digital network (ISDN) card, modem, local area network (LAN) card, or the like. Computer 200 is coupled to a display device 210, e.g., a monitor, via bus 204 to display information and an input device 212, e.g., a keyboard, to input data to the computer. In operation, computer 200 serves as a host device for viewing, editing, and otherwise processing image data files received from camera 50 via I/O interface 202, as explained in more detail later in connection with FIG. 5. Alternatively, another electronic device, e.g., a cellular phone or portable digital assistant, may be used as the host device in place of the computer. In another embodiment, the system may consist of an interface (possibly wireless) in the camera itself communicating with a router through which the camera can send data directly to a server etc. Yet in other implementations, the image data files can be transmitted to the host device via an intermediary electronic device, such as a flash card reader (not shown).

[0033] Referring to FIG. 3, a process 300 depicts a method of image tagging for post processing according to one embodiment of the present invention. At step 302, a user takes a picture using camera 50, from which raw image data is generated by image sensor 106. Processing unit 154 processes the raw image data, where the processing includes compressing the data to a more manageable size (step 304). In one implementation, the image data is compressed into a Joint Photographic Expert Group (JPEG) format. The user views the image corresponding to the saved image data and selects one or more tags to be attached to the image data (step 306) via the user interface of the input device 158. Thereafter, using the tags, computer 200 can process the image data files automatically, without specific user initiatives, upon receiving them from camera 50 according to the instructions specified in the tag. As a result, camera 50 does not require a powerful processor since heavy data processing functions may be allocated to be performed in computer 200. At the same time, the inconvenience to the user of editing or otherwise processing the image data on computer 200 is reduced.

[0034] Once the user decides on the tags to be attached, they are attached to the image data and stored in flash memory or flash card 164. That is, one or more tags are stored in tag field 186 of the image data file. In other embodiments, the tags are stored in the tag filed in the stream of a video file. In yet other embodiments, the tags are interleaved or encoded into the still image or video data itself. The image data file is transmitted to computer 200 either by linking camera 50 to the computer, or by removing the flash card and inserting it into a flash card reader that is coupled to the computer (step 308). Computer 200 processes the image data file according to the tags in the tag field (step 310). In one embodiment, the tags are extracted on the host PC, and the tag is then looked-up in the database on the PC. As explained in further detail below, in one embodiment, each tag in the database has one or more destination addresses associate with it. In one embodiment, the PC sends the image data, along with these associated destination addresses, to a server. In one embodiment, the image data may be automatically modified on the PC for optimized delivery through the server to a recipient, based up on various factors (e.g., file type, connection, internet congestion, recipient's platform and conduit, etc.). The server then delivers the image data to each of the specified destination addresses. Another example is as follows. If the image data has a tag instructing the computer to increase the pixel resolution of the image data from one megapixels to three megapixels, the computer performs an appropriate algorithm to increase the resolution size of the image.

[0035] Referring back to step 306, a method 400 (FIG. 4) depicts a method of attaching tags to the image data according to one implementation of the present invention. At step 402, the user views the image data stored in RAM 160 or flash card 164. Generally, digital cameras, such as camera 50, include a liquid crystal display (not shown) for viewing images. While viewing images on the liquid crystal display, the user may select an action to be performed subsequently by a host device (step 404). A tag with appropriate instructions is attached to the image data (step 406). It should be noted that a tag may simply be an integer which is interpreted on the host to indicate an action, or set of data, or both. The user is prompted if he or she is finished with the tagging (step 408). If so, method 320 ends and process 400 continues onto step 308. If not, steps 404 to 408 are repeated.

[0036] In one implementation, camera 50 enables the user to attach one or more of the following tags to the image data: (1) resolution tag 188, (2) cropping tag 190, (3) red-eye removal tag 192, (4) quick-send tag 194 (see, FIG. 1B) and various other types of tags. The resolution tag instructs a host device, e.g., computer 200, to automatically convert the image data from one resolution size to another resolution size. For example, camera 50 is configured to save images in resolution size of one mega-pixel. The user may view the captured image, and if he or she likes the picture and wishes to enlarge it, the user may select to have the image data converted to a greater resolution, e.g., three megapixels. A method of converting an image from one resolution size to another resolution size is described in U.S. Pat. No. 6,058,248, which is incorporated by reference herein for all purposes.

[0037] In one implementation, the user may select from a plurality of resolution sizes or manually input the desired resolution size. In another implementation, the user may elect to have the image converted to a lower resolution size, particularly when the user wishes to email the image data to another person, to minimize use of the communication bandwidth. Yet in another implementation, the camera may be programmed to attach automatically attach a resolution tag without specific user initiative. For example, the user may set the default resolution size as two megapixels and require the camera to automatically attach a resolution tag to image data generated, where the resolution tag instructs a host device to convert the image data from two megapixels to one megapixel.

[0038] The cropping tag instructs computer 200 to automatically remove undesired portions of a picture. The user may view the captured image and decides which portion of the image to retain and which to delete. A method of cropping an image data is described in U.S. Pat. No. 5,978,519, which is incorporated by reference herein for all purposes.

[0039] The red-eye removal tag instructs computer 200 to automatically edit the image to remove the red-eye effects on pictures taken in poorly lighted environments. Pictures taken in poorly lighted environments may cause the pupils of people or animals to take on red tint. The user may review the picture taken and, if necessary, attach a tag instructing the computer to automatically remove the red-eye effects on the picture. In one implementation, the camera may be provided with a light sensor (not shown) and programmed to attach a red-eye removal tag automatically whenever a picture is taken in a poorly lighted environment. For example, the red-eye removal tags may be automatically attached to the images captured whenever a flash light (not shown) of the camera goes off. A method of removing the red-eye effects is described in U.S. Pat. No. 6,134,339, which is incorporated by reference herein for all purposes.

[0040] The quick-send tag instructs computer 200 to automatically send the image data to another person or entity via a communication network. Camera 50 may include a plurality of communication addresses, e.g., email addresses, in ROM 156. For each picture taken, the user may select one or more recipients to whom the picture should be sent. In one embodiment of the present invention, the quick-send tag may comprise of an alias, rather than the actual address of the recipient. The use of such aliases is discussed in greater detail below with reference to FIGS. 7A and 7B. When the image data files corresponding to the pictures are received by computer 200, they are automatically sent to the selected addresses, as explained in more detail below.

[0041] As mentioned above, tags can be of various other types. For example, in one embodiment, the tag includes identifying information about the content of the image (e.g., names of the subjects, location, event, etc.). Further, in one embodiment, the tag contains data indicating the status of the tag information within the system, and the status of actions taken within the system to process the tagged image/video data. For example, a status tag could include information such as status=delivery attempted <date>; result=failed; retry pending. In other implementations, the user may attach other types of tags other than those listed above, e.g., a stitching tag that instructs computer 200 to stitch two or more pictures together.

[0042] Referring back to step 310, a method 500 (FIG. 5) depicts a method of processing image data file 330 in computer 200. At step 502, computer 200 receives the image data file via I/O interface 202. In one implementation, I/O interface 202 of computer 200 is coupled to I/O interface 162 of camera 50 to enable the computer to receive the image data file. In another implementation, flash card 164 is removed from camera 50 and inserted into a flash card reader, which is coupled to I/O interface 202 of the computer, to transmit the image data file to computer 200. The camera and flash card reader may be coupled to the computer via a physical connection or wireless connection.

[0043] Using CPU 206, computer 200 checks tag field 186 of the received image data file to determine whether corresponding image data 184 needs to be processed in a particular manner according to tags in tag field 186 (step 504). In one implementation, the received image data file is first stored in memory 208 before the tag field is checked by CPU 206. If CPU 206 determines that the tag field does not contain any tag, then image data 184 is processed according to a default setting, i.e., the image data is decompressed and displayed on display device 210 (step 510). Thereafter, the user may edit, print, send, or perform other functions on the image data 184 using input device 212.

[0044] On the other hand, at step 506, if there are one or more tags (e.g., resolution tag 188 and quick-send tag 194) in the image tag field, CPU 206 retrieves one of the tags to be processed (step 508). The tags may be retrieved in any order or in the order it was attached in method 400. In this exemplary implementation, the resolution tag is first retrieved, where the resolution tag instructs the computer to convert the image data from the resolution size of one mega-pixel to the resolution size of three megapixels. The computer processes the image data by performing an appropriate algorithm to increase the resolution size (step 510). In one implementation, a resulting image data file 180′ with new image data 184′ of three megapixels is saved in memory 208 of the computer. Thereafter, the image with the increased resolution size is displayed on display device 210 to the user for viewing, editing, or performing other functions on the image data.

[0045] At step 512, the computer checks the tag field to determine if there are any other tags in the tag field. Since another tag exists in tag field 186 in this exemplary implementation, steps 508 to 510 are repeated. The remaining tag, quick-send tag 194, is retrieved (step 508). In one implementation, these subsequent steps may be performed prior to displaying the new image data 184′ on the display device. The tag instructs the computer to transmit the image data file to one or more recipients, e.g., Jay Feldis and Bryed Billerbeck. In one embodiment, the tag may include the email addresses of these recipients. In another embodiment, the tag is simply an alias or reference (e.g., an integer) to an entry in a database on the host. The entry in the database matches up each tag with one or more destination addresses, as explained below in more detail with reference to FIGS. 7A&B. The computer connects to a communication network via link 209. As shown in FIG. 6, computer 200 is coupled to a plurality of remote computers 230 to 234 via a communication network 240, e.g., the Internet.

[0046] The computer initiates an Internet connection, and once connected to the Internet, the image data file is sent to the email addresses of Jay Feldis and Bryed Billerbeck. In one embodiment, the data is sent via a local email client. In one embodiment, the data is sent through a server, which then sends the data to the recipients (e.g., via SMTP mail software component on the server). Jay and Bryed having access to remote computers 230 and 232, respectively, may retrieve the image data file transmitted by computer 200. In one implementation, the transmitted image data file is the original image data file 180 transmitted by camera 50, where the image data is formatted to have a resolution size of one mega-pixel. Therefore, upon receipt of image data file 180, the remote computers may automatically increase the resolution size of image data 184 to three megapixels according to the instructions provided in resolution tag 188 before displaying the image on their respective display devices. Alternatively, the transmitted image data file may be the new image data file 180′ with the new image data 184′ of three megapixels, thereby eliminating the need to process the resolution tag before displaying the image. One advantage of transmitting the original image data file 184 is bandwidth conservation during transmission of the data file.

[0047]FIG. 7A is a block diagram of a system in accordance with one embodiment of the present invention. FIG. 7A comprises an image capturing device 710, a host 720, a network 730, and a destination 740. Data from the image capturing device 710 can be downloaded to the host 720, and then be transferred to the destination 740 via the network 730.

[0048] The image capturing device 710 comprises a data storage module 712, an alias table 714, and a display module 716. In one embodiment, the image capturing device 710 is a digital camera. In one embodiment, the data storage module 712 comprises only internal memory, such as NAND Flash, etc. In another embodiment, the data storage module 712 comprises only external (or removable) memory, such as Compact Flash, Smart Media Card, SD, memory sticks, etc. In yet another embodiment, the data storage module 712 comprises both internal and external memory.

[0049] In one embodiment, the alias table 714 is a listing of various aliases set-up by the user. In one embodiment of the present invention, the user sets up the aliases on the image capturing device 710 itself. In another embodiment of the present invention, the user sets up the aliases on a host 720, and these can then be downloaded to the image capturing device 710, either directly (e.g., if the host 720 is a personal computer), or via the network 730. It will be obvious to one of skill in the art that the use of the word “table” is simply illustrative. The aliases can be stored as a table, a list, or in any other format. Table 1 below provides an example of an alias table. TABLE 1 Alias Mom Family Jay Bryed Friends Work

[0050] The display module 716 can display several things, including but not limited to displaying a preview of data about to be captured by the user, displaying previously captured data for review by the user, and displaying a choice of aliases from which the user can select one or more aliases. In one embodiment, the display module 716 comprises a Liquid Crystal Display (LCD) or a Liquid Crystal Monitor (LCM). Further, the display module 716 can also be used to receive user selections/instructions, such as which images are to be sent to what destinations, etc. In one embodiment, this can be done by displaying a user interface on the display module 716.

[0051] In one embodiment of the present invention, the host 720 is a remote server. In one embodiment, the image capturing device 710 communicates with the remote server via the network 730. As an example, a digital camera may not need to download pictures to a local personal computer, but instead, may directly communicate with a remote server over the network. In other embodiments, the host 720 is a personal computer, a cell-phone, a networked storage device (a media library), a Personal Digital Assistant (PDA), etc. In such embodiments, the image capturing device 710 communicates directly with the host 720, without having to go through the network 730. Such an embodiment is explained in further detail with reference to FIG. 7B below.

[0052] The host 720 includes a receiving module 722 and a look-up table 724. The receiving module 722 receives the image data from the image capturing device 710. The look-up table 724 can be created, in one embodiment, on the host 720. The tags, as well as the instructions associated with each tag are entered on the host 720. The tags are then downloaded on to the image capturing device 710. In another embodiment, the look-up table 724 is harvested from other applications on the host 710, or from elsewhere on the network 730.

[0053] In one embodiment, the look-up table 724 comprises aliases mapped to destination addresses. Thus, if some data is associated with a specific alias, the look-up table 724 serves to translate the alias to a destination address. It is to be noted that a single alias could refer to a single destination address, or to multiple destination addresses (i.e., to a group of destination addresses). The destination addresses can be any type of address, such as email addresses, Instant Messenger (IM) addresses, cell phone addresses, etc. Moreover, it will be obvious to one of skill in the art that the use of the word “table” is simply illustrative. The information can be stored as a table, a list, or in any other format. Table 2 provides an example of a look-up table 724. It is to be noted that in other embodiments, table 724 also includes other information such as IM buddy names, the address of a storage location such as a data storage location, media library, or website, etc. TABLE 2 Alias Address(es) Mom jane@yahoo.com Family john@hotmail.com, jane@yahoo.com, mary@abc123.com Jay jay@feldis.com Bryed bryed@yahoo.com Friends susan@hotmail.com, tim@yahoo.com, joanne@xyz.com, peter@rst.com

[0054] The network 730 is any type of network such as a wide area network (WAN) or a local area network (LAN). The wide area network may include the Internet, the Internet 2, and the like. The local area network may include an Intranet, which may be a network based on, for example, TCP/IP, belonging to an organization accessible only by the organization's members, employees, or others with authorization. The local area network may also be a network such as, for example, Netware™ from Novell Corporation (Provo, Utah) or Windows NT from Microsoft Corporation (Redmond, Wash.).

[0055] The destination 740 may be a specified by an email address, an instant messenger address, an e-frame address, a cell phone number, and so on. It will be obvious to a person of ordinary skill in the art that the destination 740 is any destination where the data can be sent. For instance, it is possible for the destination to be the postal address of a person, where a DVD, video cassette, and/or hard copies of photos could be delivered (via a store etc. where the DVDs etc. are prepared).

[0056]FIG. 7B is a block diagram of another embodiment in accordance with the present invention. The components of the system include an image capturing device 710, a host 720, networks 730 a & b, a server 735, and a destination 740.

[0057] The image capturing device 710 is as described above with reference to FIG. 7A. However, unlike in FIG. 7A, the image capturing device 710 does not connect directly to the network 730. Instead, the image capturing device connects to host 720, via which it connects to the network 730 a.

[0058] In one embodiment of the present invention, the host 720 is a personal computer (PC). In other embodiments, the host 720 is a cell-phone, a networked storage device (a media library), a Personal Digital Assistant (PDA), etc. The host 720 includes a receiving module 722 and a look-up table 724, which have been described with reference to FIG. 7A. In addition, in one embodiment, the host 720 also has an image modification module 725. Amongst other things, the image modification module 725 modifies (e.g., compresses) images/videos to satisfy quick download by recipients, and to keep costs down. In one embodiment, such compression and image modification is configurable, and is specified by the server 735, and happens dynamically when the host 720 connects to the server 735.

[0059] The host 720 then connects to a server 735 through a network 730 a. The server 735 connects to the destination 740 through a network 730 b. It is to be noted that networks 730 a and 730 b could be the same network, or could be distinct networks. In one embodiment, the server 735 serves various functions. For instance, in one embodiment, the server 735 could create thumbnails of the images/videos to send to the destination 740. In one embodiment, the server 735 creates Hyper Text Markup Language (HTML) emails to send to the destination 740. In one embodiment, the server 735 creates email text in the appropriate language. In yet another embodiment, the server 735 reformats data to optimize delivery to the recipient based on the data type, connection, network traffic, etc. In still another embodiment, the server 735 selects appropriate communication channels (e.g., email, instant messenger, cell phone, etc.) based on factors such as address type, file size, etc.

[0060]FIG. 7C is a flowchart illustrating how the systems in FIGS. 7A & 7B would work in accordance with one embodiment of the present invention. Initially, the data (such as still image data, video data, or audio data) to be processed (e.g., to be sent to a destination) is selected by a user on the image capturing device 710. The image capturing device 710 thus receives selection of the data 750. In one embodiment, the data from the data storage 712 is displayed on the display module 716. This data may be displayed as individual data items (e.g., individual still images) or as a collection of these (e.g., thumbnails of several still images), etc. The user can then select desired data via the display module 716, and the image capturing device 710 receives selection of the data 750.

[0061] The user also selects one or more tags to be associated with the data. The image capturing device 710 thus receives the selection of a tag(s) to be associated with the selected image data 752. In one embodiment, the tag can refer to destination(s) to which the selected data is to be sent. In another embodiment, the tags can refer to the subject matter of the picture being taken. (E.g., the picture being taken is of “mom” or of “Christmas” etc.). In yet another embodiment, when the data being selected is video data, the tag can be a video editing tag. Such a video editing tag may include instructions to trim one or both ends of the video file, mark one or more significant frames in the video file for special processing (e.g., display on host), indicate which frame to represent as a thumbnail, etc.

[0062] In one embodiment, the selection of the tags is performed by the user by interacting with the display module 716. It will be obvious to one skilled in the art that the user may select the tags in one of several ways. For instance, in one embodiment, the display module 716 displays a list of possible tags. An example of such a list comprising of aliases is provided in Table 1 above. The user can thus select one of the tags displayed. For instance, the user may choose to send a particular video clip to “Mom.” In another embodiment, the user inputs (e.g., using a stylus, or by using a “keyboard” that appears on the display module 716) the tag using the display module 716, rather than selecting it from a list. In another embodiment, the user manipulates certain input devices (e.g., buttons on the image capturing device 710) to make the selections (e.g., of the data and the tags). In any case, the image capturing device 710 receives 752 the selection of one or more tags to be associated with the selected data.

[0063] The selected tag(s) is then attached 754 to the selected data. In one embodiment, the tag is inserted into the header of the data. In another embodiment, the tag is encrypted an embedded into the data itself. This can be done by interleaving the tag with pixels of image data. In one embodiment, this interleaving is done in a way that is not visible to the user when the data is displayed. In another embodiment, this interleaved tag is extracted before the data is displayed to the user. In one embodiment, existing technologies (e.g., the JPEG-EXIF metadata standard) can be used to insert tags still images and/or videos.

[0064] The modified data (i.e., the data including the destination alias) is downloaded 756 to a host 720. The table look-up is then performed 758 to identify the instructions corresponding to the tags. For example, a look-up may identify which destination or destinations are specified by each alias tag. An example of a look-up table is provided in Table 2 above. It can be seen from Table 2 that, for example, if “Mom” were the alias tag inserted 754 into the data, then the data would be emailed to jane@yahoo.com. If “Family” were the alias tag inserted 754 into the data, then the data would be emailed to john@hotmail.com, jane@yahoo.con, and mary@abc123.com. It will be obvious to one skilled in the art, that the present invention is not limited to sending data to email addresses alone. Rather, the present invention can be used to send data to instant messenger addresses, web-sites specified by URLs, and any other such destinations which can be specified using a destination address. Further, it should be noted that, as mentioned above, the tags could identify things other than destination addresses, such as the subject matter of the photograph, etc.

[0065] In one embodiment, the data is intelligently formatted 759. In one embodiment, when the tag specifies a destination to which the data is to be sent, intelligent formatting 759 includes sending each recipient a single message (e.g., email), even if, for example, multiple still images are to be sent to him. FIG. 7D illustrates some details.

[0066] Referring to FIG. 7D, it can be seen that the tags are associated with the data on the image capturing device 710. In one embodiment, each piece of data (e.g., a still image, a video file, etc.) is uploaded to the host 720 (and/or the server 735) only once. The tags associated with each piece of data are then looked-up in a look-up table as described above. Thus the instructions associated with each tag (e.g., specific destination address(es) corresponding to each tag, to which the still image and/or video data is to be sent). The data for transfer is then formatted intelligently such that each destination address is followed by a list of still images and/or video data to be sent to that address. In this way, each recipient only receives a single message, regardless of how many pieces of data are received by him.

[0067] In one embodiment, when the tag specifies a destination to which the data is to be sent, intelligent formatting 759 includes optimizing data transfer. Such optimization may include generation of thumbnails of still image/video data, generating any text accompanying the data, and so on. In one embodiment, data is optimized based on the data type, recipient's network connection, etc. In one embodiment, such information is obtained dynamically from the network. In another embodiment, such information is included in the look-up table.

[0068] Referring again to FIG. 7C, it can be seen that the data is processed 760 in accordance with the instructions associated with the tag. For example, if the tag is a destination tag, the data is sent to the destination specified by the destination address(es) corresponding to the alias tag(s). In one embodiment, the data can be sent to various through communication channel (e.g., email, instant messaging, cell phone, etc.). In one embodiment, if a single recipient is identified by multiple different addresses (from same or different communication channels), the recipient receives the message containing still image/video data on only one of these addresses. In another embodiment, the recipient receives the message on all of these addresses.

[0069] As another example, if the tag is a subject matter tag, the data is sorted by it (e.g., stored in a folder named by the subject matter corresponding to the subject mater tag).

[0070] It is to be noted that the table look-up step 758, the intelligent formatting of the data step 759, and the processing of data step 760 may be performed on the same host, or on different hosts. For example, in one embodiment, the table look-up is performed on the host 720, while the intelligent formatting of the data 759 and the processing of data 760 is performed on the server 735. In another embodiment, each of these three steps is performed on the host 720. In yet another embodiment, each of these three steps is performed on the server 735. It will be obvious to one of ordinary skill in the art that any combination of these steps being performed on the host 720 and the server 735 is possible. It is also possible to have several hosts and/or servers for performing these various steps.

[0071] As will be understood by those skilled in the art, the present invention may be embodied in other specific forms without departing from the essential characteristics thereof. For example, the captured data could be audio data associated with an image, or separate from an image. The tag could be imbedded in a field of the audio data, in the data itself or a header. Accordingly, the foregoing description is intended to be illustrative, but not limiting, of the scope of the invention which is set forth in the following claims. 

What is claimed is:
 1. An image capturing device for capturing data, the device comprising: a recording module for converting sensed information into recorded data; a processor coupled to the recording module to process the recorded data; a memory coupled to the processor for storing the recorded data; a user interface to allow a user to select recorded data stored in memory and to select a tag to associate with the selected recorded data; and a computer readable media storing a program configured to cause the processor to attach the selected tag to the selected recorded data by modifying the recorded data.
 2. The image capturing device of claim 1, wherein the recorded data captured is one of still image data and video data.
 3. The image capturing device of claim 1, wherein the recorded data captured is audio data.
 4. The image capturing device of claim 1, wherein the user interface includes an electronic display.
 5. The image capturing device of claim 1, wherein the user interface comprises buttons.
 6. The image capturing device of claim 1, wherein the tag comprises an alias for a destination to which the selected image data is to be sent.
 7. The image capturing device of claim 1, wherein the tag comprises a resolution tag.
 8. The image capturing device of claim 1, wherein the tag comprises a red-eye removal tag.
 9. The image capturing device of claim 1, wherein the tag comprises a cropping tag.
 10. The image capturing device of claim 1, wherein the tag comprises a subject matter tag.
 11. A method for processing media data, comprising; receiving selection of media data; receiving selection of an alias tag specifying a destination to which the selected media data is to be sent; and modifying the selected media data by inserting the selected alias tag into the selected media data.
 12. The method of claim 11, wherein the modification of the selected image data is performed by inserting the selected tag alias into a header portion of the selected media data.
 13. The method of claim 11 wherein the media data is image data, wherein the modification of the selected image data is performed by interleaving the selected tag alias into pixels of the image data itself.
 14. The method of claim 11, further comprising: downloading the modified media data onto a host; and looking-up a destination address specified by the selected alias.
 15. The method of claim 14 wherein the looking-up is performed on the host.
 16. The method of claim 14 wherein the looking-up is performed on a second host.
 17. The method of claim 14, further comprising: sending the selected media data to the destination address.
 18. The method of claim 17, further comprising: intelligently formatting the data to be sent.
 19. The method of claim 17, wherein the sending is performed on the host.
 20. The method of claim 17, wherein the sending is performed on a second host.
 21. The method of claim 17 wherein the destination address is an email address.
 22. The method of claim 17 wherein the destination address is an instant messenger address.
 23. The method of claim 17 wherein the destination address is a cell-phone number.
 24. The method of claim 14 wherein the host is a remote server.
 25. The method of claim 14 wherein the host is a personal computer.
 26. The method of claim 14 wherein the host is a cell-phone.
 27. A host for receiving media data from an image capturing device, the host comprising: a receiving module to receive from the image capturing device, media data including a tag; and an association module communicatively coupled to the receiving module, which associates the tag with predesignated instructions stored on the host.
 28. The host of claim 27, wherein the association module comprises a look-up table, listing a plurality of tags, and instructions associated with each of the plurality of tags.
 29. An image capturing device, comprising: a data storage module for storing a plurality of captured data; a display module communicatively coupled to the data storage module for selecting one of the plurality of captured data; and an alias storage module for storing a plurality of aliases which can be attached to the selected one of the plurality of captured data, wherein the plurality of aliases refer to a plurality of destination addresses to which the plurality of captured data can be sent. 